#!/usr/bin/env python
#-*- coding: utf-8 -*-


class HTMLGenerator:
    '''
    Esta class escreve codigo html para um designado ficheiro(fich)
    '''
    def __init__(self,fich):
        self.f = file(fich,"w")
        self.f.write("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></head><body>")
    '''
    Cria um <a href='href'>text</a> no ficheiro
    '''
    def link(self,text,href):
        self.f.write("<a href=\"" + href.encode('utf8') +"\">" + text.encode('utf8') + "</a>")
    '''
    Cria uma tabela no ficheiro con o heder h
    '''
    def makeTable(self,h,table):
        self.f.write("<table border=\"1\">")
        self.f.write("<tr>")  
        for head in h:            
            self.f.write("<th>"+head+"</th>")
        self.f.write("</tr>")
            
        for line in table:
            self.f.write("<tr>")                
            for row in line:
                self.f.write("<td>"+row.encode('utf8')+"</td>")            
            self.f.write("</tr>")
        self.f.write("</table >")
    '''
    Cria um titulo <h1>h</h1> no ficheiro
    '''
    def printH1(self,h):
        self.f.write("<h1>"+h.encode('utf8')+"</h1>")
    '''
    Cria umtitulo <h2>h</h2> no ficheiro
    '''
    def printH2(self,h):
        self.f.write("<h2>"+h.encode('utf8')+"</h2>")
    '''
    Cria uma quebra de linha no ficheiro
    '''
    def lineBR(self):
        self.f.write("</br>\n")
    '''
    Fecha o ficheiro
    '''
    def CloseFile(self):
        self.f.write("</body></html>")
        self.f.close()
